留意事項
Zabbix 套件版本需求
https://www.zabbix.com/documentation/7.0/en/manual/installation/requirements
由於 Zabbix 支援多種架構,因此我們要先確認哪些項目是我們需要的,其組成如下:
為了簡化安裝流程與快速部署,我們使用 Container 安裝方式,取得 Zabbix 相關的 Container Image 方法如下:
進入 Zabbix 官網,選擇 [Download]。
選擇 Container。
選擇 Server 與 Frontend 支援的資料庫版本。
留意事項
這個流程在 Desktop 中使用 Podman 安裝,使用 Container 安裝 Zabbix Server。
Container 安裝套件
root# dnf install -y podman podman-plugins runc chrony
root# dnf update -y podman podman-plugins runc
root# systemctl enable --now chronyd
root# systemctl restart chronyd
root# hwclock -w
設定 Zabbix 用的網路
root# podman network create net_zabbix
安裝 MySQL 資料庫
zabbix
zabbix
P@ssw0rd
10.89.0.%
安裝 MySQL Server 套件
root# dnf install -y mysql-server
root# systemctl enable --now mysqld
設定資料庫帳號與權限
root# mysql -u root
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'10.89.0.%' identified by 'P@ssw0rd';
mysql> grant all privileges on zabbix.* to 'zabbix'@'10.89.0.%';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;
參考指引: https://www.zabbix.com/documentation/7.0/en/manual/appendix/install/db_scripts#mysqlmariadb
建立 Zabbix Server
指定 DB 主機為 10.89.0.1
(Desktop 上的 Container 網路閘道)
使用 zabbix
資料庫
root# podman run --name zabbix_server \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="P@ssw0rd" \
-e DB_SERVER_HOST="10.89.0.1" \
--network net_zabbix \
-d docker.io/zabbix/zabbix-server-mysql:alpine-7.0.0
查看 Container 是否正確執行。
root# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bdd46fb6bb1e docker.io/zabbix/zabbix-server-mysql:alpine-7.0.0 /usr/sbin/zabbix_... 8 seconds ago Up 8 seconds zabbix_server
建立 Zabbix 前端 (UI 操作)
指定 DB 主機為 10.89.0.1
使用 zabbix
資料庫
指定 Zabbix Server 為 zabbix_server
root# podman run --name zabbix_web \
--network net_zabbix \
-p 8080:8080 \
-p 8443:8443 \
-e DB_SERVER_HOST="10.89.0.1" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="P@ssw0rd" \
-e ZBX_SERVER_HOST="zabbix_server" \
-e MYSQL_DATABASE=zabbix \
-e PHP_TZ="Asia/Taipei" \
-d docker.io/zabbix/zabbix-web-nginx-mysql:7.0.0-alpine
查看 Container 是否正確執行。
root# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bdd46fb6bb1e docker.io/zabbix/zabbix-server-mysql:alpine-7.0.0 /usr/sbin/zabbix_... 7 minutes ago Up 7 minutes zabbix_server
b51df53925a7 docker.io/zabbix/zabbix-web-nginx-mysql:7.0.0-alpine 5 seconds ago Up 5 seconds 0.0.0.0:8080->8080/tcp, 0.0.0.0:8443->8443/tcp zabbix_web
連線 Zabbix
更新 Desktop 中的 firefox 套件:
root# dnf update -y firefox
在 Desktop 中使用 8080 連入: http://desktopX:8080
登入帳號: Admin
密碼: zabbix
登入後畫面
@Desktop
系統重開機後,需要手動讓 Container 啟動,方法如下:
root# podman start zabbix_server zabbix_web
root# podman ps